home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CCCCLLLLAAAASSSSSSSSQQQQ((((3333FFFF)))) CCCCLLLLAAAASSSSSSSSQQQQ((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- CLASSQ - return the values scl and ssq such that ( scl**2 )*ssq = x( 1
- )**2 +...+ x( n )**2 + ( scale**2 )*sumsq,
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE CLASSQ( N, X, INCX, SCALE, SUMSQ )
-
- INTEGER INCX, N
-
- REAL SCALE, SUMSQ
-
- COMPLEX X( * )
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- CLASSQ returns the values scl and ssq such that
-
- where x( i ) = abs( X( 1 + ( i - 1 )*INCX ) ). The value of sumsq is
- assumed to be at least unity and the value of ssq will then satisfy
-
- 1.0 .le. ssq .le. ( sumsq + 2*n ).
-
- scale is assumed to be non-negative and scl returns the value
-
- scl = max( scale, abs( real( x( i ) ) ), abs( aimag( x( i ) ) ) ),
- i
-
- scale and sumsq must be supplied in SCALE and SUMSQ respectively. SCALE
- and SUMSQ are overwritten by scl and ssq respectively.
-
- The routine makes only one pass through the vector X.
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- N (input) INTEGER
- The number of elements to be used from the vector X.
-
- X (input) REAL
- The vector x as described above. x( i ) = X( 1 + ( i - 1 )*INCX
- ), 1 <= i <= n.
-
- INCX (input) INTEGER
- The increment between successive values of the vector X. INCX >
- 0.
-
- SCALE (input/output) REAL
- On entry, the value scale in the equation above. On exit,
- SCALE is overwritten with the value scl .
-
- SUMSQ (input/output) REAL
- On entry, the value sumsq in the equation above. On exit,
- SUMSQ is overwritten with the value ssq .
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-